Course details
- Duration: 12.5 hours, spread over 6 weeks
- Contact us
Presented by Dr Kai Sun, Institute Manager, Data Science Institute, Imperial College London
Blockchain is one of the most emerging technologies in the past 10 years. It has been considered as a key component of the next generation internet by the scientific community.
Blockchain technology has the potential to enhance trust, transparency and traceability on internet-based information systems. Companies in every industry are now exploring ways to apply blockchain-based solutions to solve real-world business problems.
In this course, we will provide an in-depth overview of the fundamentals and applications of Blockchain Technology. Starting from the basics of cryptography, we will explore the components of a blockchain and the underlying mechanisms, to explain what is a blockchain, how it works, and how it can build trust and exchange values without involving a third party (e.g., a bank).
We will also introduce smart contracts and demonstrate how to design and build decentralised applications on a blockchain network. In addition, we will look into the business applications and use cases of Blockchain Technology spanning multiple industries.
Last but not least, we will discuss the potential impact of blockchain on the future data ecosystem.
More information
Topics covered include:
- Cryptography Essentials To go through the basics of cryptography and see how techniques like public-key cryptography and hashing are used in blockchain.
- Blockchain Fundamentals To provide an in-depth overview of the essential concepts of blockchain technology: public and permissioned blockchains, decentralisation, cryptocurrencies, peer-to-peer communication, Merkle tree, hard and soft forks, etc.
- Consensus Protocols To introduce different types of consensus protocols used in existing blockchain networks, such as Nakamoto consensus and Practical Byzantine Fault Tolerance.
- Smart Contracts To explain what smart contracts are, how they work, how to design and code a smart contract in Solidity language, how to deploy and execute a smart contract on the Ethereum platform, and how smart contracts are used to develop decentralised applications.
- Blockchain Applications To give an overview of how Blockchain Technology has been used in real-world applications, such as supply chain management, asset tracking and electronic voting.
- Decentralised Finance (DeFi) To introduce the key elements of DeFi, compare DeFi with traditional finance, discuss the advantages and drawbacks, and go through examples of DeFi applications (e.g., decentralised exchange and stable coins).
- Data Science for Blockchain To give a board picture of how data science methods have been applied to analysing blockchain-related data, and provide hands-on experience in blockchain data analytics,
On completion of this masterclass, participants will be able to:
- Have a solid understanding and working knowledge of the emerging Blockchain Technology.
- Explain and compare different consensus protocols used in existing blockchain platforms.
- Design and program smart contracts in Solidity language.
- Deploy and execute smart contracts in Ethereum test net.
- Familiarise with different blockchain applications as well as their advantages and limitations.
- Describe the scope, purpose and use cases of DeFi.
- Interact with online blockchain data explorers to view historical transaction data on a public blockchain.
- Apply data science methods to analyse and visualise blockchain-related data.
- Develop practical skills to design and implement blockchain-based solutions.
Team based learning via group project:
As part of this masterclass, students will have the opportunity to work in small teams on a group project. A list of blockchain-related data resources will be provided to students in the first week of the masterclass. The students will first define a research problem they plan to solve using the datasets, and then construct their proposed solution by applying data science methods (e.g., data integration, statistical analysis, machine learning, data visualisation). Students with strong computer science background will have the option to design and develop their own decentralised application in the group project.
This masterclass is designed for undergraduate or postgraduate students studying a technical subject, i.e. Engineering, Computing, Software Engineering, Math, Physics or related disciplines.